Computer based document management systems, which traditionally have provided a mechanism to organize and control access to electronic documents, have been improved to facilitate workflow and document publishing. For example, document management systems now provide the capability to define a workflow template that specifies that a person or set of persons must review or approve a document before the document is made generally available. Such workflow templates are particularly useful in a document publishing environment where approval processes are commonplace.
A particularly important operation in workflow systems is managing access to documents as they move through various stages of a workflow. In a typical document-publishing scenario, significant time can elapse between creation of a document and final approval of the document for external viewing or publishing. For example, after an author revises an existing document and enters the revised document into a publishing workflow, several editors may need to review the document prior to the document receiving final approval for viewing by people outside the publishing group. It may take an extended period before the editors have an opportunity to review the document. In the meantime, it is necessary to restrict access to the revised document until it receives final approval. Indeed, it is necessary to restrict access to the document even if the editing process takes only short time. Editors should be given access to the new version of the document for purposes of editing and approving the document while those without approval authority should be given access to the original version of the document without revisions. Thus, it can be said that the original or “base” document and the revised document should be maintained separately, or “isolated” from each other and access given as appropriate to one or the other during the period that the document is undergoing approval in the publishing workflow.
It is also necessary to control access to the publishing operations that may be performed on a document as it is routed through a workflow. For example, while a document may be checked-out for revision numerous times during the course of a workflow, at any given time, however, only specific sets of individuals should have permission to perform this operation.
Thus, there is a need for systems and methods for controlling access to documents and operations to be performed on those documents while documents are routed through a workflow. Specifically, there is a need for systems and methods to “isolate” the base document from the revised document that is undergoing editing in a workflow. Users should selectively be directed to the appropriate version of the document that they are authorized to see. Further, users should selectively be permitted to perform operations on the documents. Preferably, the systems and methods are extensible to accommodate user-defined workflows and workflow operations.